import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class JdbcInsert {
    public static void main(String[] args) throws SQLException {
        //JDBC需要通过以下步骤来完成开发
        //1. 创建并初始化一个数据源
        DataSource dataSource = new MysqlDataSource();//向上转型 子类变父类
        //为什么要强转回来?
        //因为setUrl这个方法是子类有的父类没有
        ((MysqlDataSource)dataSource).setURL("jdbc:mysql://127.0.0.1:3306/3_15?characterEncoding=utf8&useSSL=false");//向下转型 父类变子类
        ((MysqlDataSource)dataSource).setUser("root");//默认是root
        ((MysqlDataSource)dataSource).setPassword("111111");//自己的数据库密码是啥,这个就是啥
         //2. 和数据库服务器连接
       Connection connection = dataSource.getConnection();//建立连接,受查异常需要声明throws
       // Connection 要用jdbc的,不要用mysql的
        //3. 构造SQL语句
        String sql = "delete from student where name = '张三'";
        //即使使用代码来操作,使用的也是sql语句
        PreparedStatement p1= connection.prepareCall(sql);//用这个东西对sql语句先进行预解析
        //提前预编译一下sql
        //4. 执行SQL语句
      int ret1 = p1.executeUpdate();//把与编译后的语句发送给服务器
        System.out.println(ret1);//返值是影响到的行数
        //5. 释放必要的资源
        p1.close();
        System.out.println();
        connection.close();
    }
}